@file:Suppress("unused")

package com.hjh.tool.extension

import com.hjh.tool.util.MyHexUtil
import java.nio.charset.StandardCharsets
import kotlin.collections.toString
import kotlin.toUByte

/**
 * @author： hjh
 * @createDate： 2024/11/20 18:35
 * @description： Byte 有关扩展方法
 * @qq： 3472903821
 * @version: 1.0
 */

/**
 * 解码 Byte
 */
fun Byte.encodeHexStr(): String {
    return MyHexUtil.byteToHexStr(this)
}

/**
 * Byte 转无符号 Int
 */
fun Byte.toUnSignedInt(): Int {
    return this.toUByte().toInt()
}

/**
 * 解码 Byte 数组
 */
fun ByteArray.encodeHexStr(): String {
    return MyHexUtil.bytesToHexStr(this)
}

/**
 * 转 ASCII 码值
 */
fun ByteArray.toAsciiStr(): String {
    return this.toString(StandardCharsets.US_ASCII)
}

/**
 * 解码 Byte 数组
 */
fun ByteArray.toInt(): Int {
    return MyHexUtil.bytesToIntBigEndian(this)
}

/**
 * 解码 Byte 数组
 */
fun ByteArray.toShort(): Short {
    return MyHexUtil.bytesToShortBigEndian(this)
}

/**
 * 转 UTF-8 值
 */
fun ByteArray.toUtf8Str(): String {
    return this.toString(StandardCharsets.UTF_8)
}

